package com.sitech.timing.dao.impl;

import java.util.List;

import com.sitech.dao.BaseDao;
import com.sitech.timing.dao.ParamDao;
import com.sitech.timing.domain.ParamDetail;
import com.sitech.timing.domain.ParamInfo;
import com.sitech.timing.domain.ParamInstance;
import com.sitech.timing.domain.ParamTaskTypeRelation;
import com.sitech.timing.domain.ParamType;

public class ParamDaoImpl  extends BaseDao implements ParamDao
{

	/**
	 * (non-Javadoc)
	 * @see com.sitech.dmcs.core.dao.ParamDao#getAllParamDetail()
	 */
	public List<ParamDetail> getAllParamDetail()
	{
		return (List<ParamDetail>)query("getAllParamDetail");
	}

	/**
	 * (non-Javadoc)
	 * @see com.sitech.dmcs.core.dao.ParamDao#getAllParamInfo()
	 */
	public List<ParamInfo> getAllParamInfo()
	{
		return (List<ParamInfo>)query("getAllParamInfo");
	}

	/**
	 * (non-Javadoc)
	 * @see com.sitech.dmcs.core.dao.ParamDao#getAllParamType()
	 */
	public List<ParamType> getAllParamType()
	{
		return (List<ParamType>)query("getAllParamType");

	}

	/**
	 * (non-Javadoc)
	 * @see com.sitech.dmcs.core.dao.ParamDao#getAllParamRelation()
	 */
	public List<ParamTaskTypeRelation> getAllParamRelation()
	{
		return (List<ParamTaskTypeRelation>)query("getAllParamRelation");
	}

	/**
	 * (non-Javadoc)
	 * @see com.sitech.dmcs.core.dao.ParamDao#insertParamInstance(com.sitech.dmcs.core.domain.ParamInstance)
	 */
	public void insertParamInstance(ParamInstance paramInstance)
	{
		insert("insertParamInstance",paramInstance);
	}

	/**
	 * (non-Javadoc)
	 * @see com.sitech.dmcs.core.dao.ParamDao#insertParamInstanceBatch(java.util.List)
	 */
	public void insertParamInstanceBatch(List<ParamInstance> paramInstanceList)
	{		
		batchCreate("insertParamInstance",  paramInstanceList);
	}

	/**
	 * (non-Javadoc)
	 * @see com.sitech.dmcs.core.dao.ParamDao#getTaskParamInstance(java.lang.String)
	 */
	public List<ParamInstance> getTaskParamInstance(ParamInstance paramInstance)
	{
		return query("getTaskParamInstance", paramInstance);
	}

	/**
	 * (non-Javadoc)
	 * @see com.sitech.dmcs.core.dao.ParamDao#deleteTaskParamInstance(java.lang.String)
	 */
	public void deleteTaskParamInstance(String taskInstanceId)
	{
		delete("deleteTaskParamInstance", taskInstanceId);
	}

	/**
	 * (non-Javadoc)
	 * @see com.sitech.dmcs.core.dao.ParamDao#getParamInfoByGroupTaskId(java.lang.String)
	 */
	public List<ParamInfo> getParamInfoByGroupTaskId(String groupTaskId)
	{
		return query("getParamInfoByGroupTaskId", groupTaskId);
	}

	/**
	 * (non-Javadoc)
	 * @see com.sitech.dmcs.core.dao.ParamDao#getParamInfoByTaskId(java.lang.String)
	 */
	public List<ParamInfo> getParamInfoByTaskId(String taskId)
	{
		return query("getParamInfoByTaskId", taskId);
	}

	/**
	 * (non-Javadoc)
	 * @see com.sitech.dmcs.core.dao.ParamDao#getParamTypeByGroupTaskId(java.lang.String)
	 */
	public List<ParamType> getParamTypeByGroupTaskId(String groupTaskId)
	{
		return query("getParamTypeByGroupTaskId", groupTaskId);
	}

	/**
	 * (non-Javadoc)
	 * @see com.sitech.dmcs.core.dao.ParamDao#getParamDetailByGroupTaskId(java.lang.String)
	 */
	public List<ParamDetail> getParamDetailByGroupTaskId(String groupTaskId)
	{
		return query("getParamDetailByGroupTaskId", groupTaskId);
	}

	/**
	 * (non-Javadoc)
	 * @see com.sitech.dmcs.core.dao.ParamDao#getParamRelationByGroupTaskId(java.lang.String)
	 */
	public List<ParamTaskTypeRelation> getParamRelationByGroupTaskId(String groupTaskId)
	{
		return query("getParamRelationByGroupTaskId", groupTaskId);
	}
		
}
